{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2 Physical GPUs, 2 Logical GPUs\n"
     ]
    }
   ],
   "source": [
    "import tensorflow as tf\n",
    "import graphgallery \n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "# Set if memory growth should be enabled for ALL `PhysicalDevice`.\n",
    "graphgallery.set_memory_growth()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'2.1.2'"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tf.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'0.4.0'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "graphgallery.__version__"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Load the Datasets\n",
    "+ cora\n",
    "+ citeseer\n",
    "+ pubmed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from graphgallery.data import Planetoid\n",
    "\n",
    "# set `verbose=False` to avoid these printed tables\n",
    "data = Planetoid('cora', root=\"~/GraphData/datasets\", verbose=False)\n",
    "graph = data.graph\n",
    "idx_train, idx_val, idx_test = data.split()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'citeseer', 'cora', 'pubmed'}"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.supported_datasets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training...\n",
      "100/100 [==============================] - 2s 22ms/step - loss: 0.3566 - acc: 1.0000 - val_loss: 0.9917 - val_acc: 0.7800 - time: 2.2107\n",
      "Testing...\n",
      "1/1 [==============================] - 0s 108ms/step - test_loss: 1.0125 - test_acc: 0.8310 - time: 0.1077\n",
      "Test loss 1.0125, Test accuracy 83.10%\n"
     ]
    }
   ],
   "source": [
    "from graphgallery.nn.models import ChebyNet\n",
    "model = ChebyNet(graph, attr_transform=\"normalize_attr\", device='GPU', seed=123)\n",
    "model.build()\n",
    "# train with validation\n",
    "his = model.train(idx_train, idx_val, verbose=1, epochs=100)\n",
    "# train without validation\n",
    "# his = model.train(idx_train, verbose=1, epochs=100)\n",
    "loss, accuracy = model.test(idx_test)\n",
    "print(f'Test loss {loss:.5}, Test accuracy {accuracy:.2%}')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Show model summary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"cheby_net\"\n",
      "__________________________________________________________________________________________________\n",
      "Layer (type)                    Output Shape         Param #     Connected to                     \n",
      "==================================================================================================\n",
      "attr_matrix (InputLayer)        [(None, 1433)]       0                                            \n",
      "__________________________________________________________________________________________________\n",
      "adj_matrix_0 (InputLayer)       [(None, None)]       0                                            \n",
      "__________________________________________________________________________________________________\n",
      "adj_matrix_1 (InputLayer)       [(None, None)]       0                                            \n",
      "__________________________________________________________________________________________________\n",
      "adj_matrix_2 (InputLayer)       [(None, None)]       0                                            \n",
      "__________________________________________________________________________________________________\n",
      "cheby_convolution (ChebyConvolu (None, 16)           68784       attr_matrix[0][0]                \n",
      "                                                                 adj_matrix_0[0][0]               \n",
      "                                                                 adj_matrix_1[0][0]               \n",
      "                                                                 adj_matrix_2[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "dropout (Dropout)               (None, 16)           0           cheby_convolution[0][0]          \n",
      "__________________________________________________________________________________________________\n",
      "cheby_convolution_1 (ChebyConvo (None, 7)            336         dropout[0][0]                    \n",
      "                                                                 adj_matrix_0[0][0]               \n",
      "                                                                 adj_matrix_1[0][0]               \n",
      "                                                                 adj_matrix_2[0][0]               \n",
      "__________________________________________________________________________________________________\n",
      "node_index (InputLayer)         [(None,)]            0                                            \n",
      "__________________________________________________________________________________________________\n",
      "gather (Gather)                 (None, 7)            0           cheby_convolution_1[0][0]        \n",
      "                                                                 node_index[0][0]                 \n",
      "==================================================================================================\n",
      "Total params: 69,120\n",
      "Trainable params: 69,120\n",
      "Non-trainable params: 0\n",
      "__________________________________________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "model.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Visualization Training "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "with plt.style.context(['science', 'no-latex']):\n",
    "    fig, axes = plt.subplots(1, 2, figsize=(15, 5))\n",
    "    axes[0].plot(his.history['acc'], label='Train accuracy')\n",
    "    axes[0].plot(his.history['val_acc'], label='Val accuracy')\n",
    "    axes[0].legend()\n",
    "    axes[0].set_title('Accuracy')\n",
    "    axes[0].set_xlabel('Epochs')\n",
    "    axes[0].set_ylabel('Accuracy')\n",
    "\n",
    "\n",
    "    axes[1].plot(his.history['loss'], label='Training loss')\n",
    "    axes[1].plot(his.history['val_loss'], label='Validation loss')\n",
    "    axes[1].legend()\n",
    "    axes[1].set_title('Loss')\n",
    "    axes[1].set_xlabel('Epochs')\n",
    "    axes[1].set_ylabel('Loss')\n",
    "    \n",
    "    plt.autoscale(tight=True)\n",
    "    plt.show()    "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
